package model

import "time"

//品牌
type Brand struct {
	Id     int32  `gorm:"column:id;primary_key"` //品牌idl
	Name   string `gorm:"column:name;"`          //品牌名称
	Image  string `gorm:"column:image;"`         //品牌的图片地址
	Letter string `gorm:"column:letter;"`        //品牌的首字母
	Seq    int32  `gorm:"column:seq;"`           //排序
	//创建时间、更新时间、删除时间
	CreatedAt time.Time  `gorm:"column:created_at"`
	UpdatedAt time.Time  `gorm:"column:updated_at"`
	DeletedAt *time.Time `gorm:"column:deleted_at"`
}

//表名
func (brand *Brand) TableName() string {
	return "tb_brand"
}

//模板
type Template struct {
	Id      int32  `gorm:"column:id;primary_key"` //模板Id
	Name    string `gorm:"column:name"`           //模板名
	SpecNum int32  `gorm:"column:spec_num"`       //规格数量
	ParaNum int32  `gorm:"column:para_num"`       //参数数量
}

//表名
func (Template *Template) TableName() string {
	return "tb_template"
}

//参数
type Param struct {
	Id         int32  `gorm:"column:Id;primary_key"` //参数Id
	Name       string `gorm:"column:name"`           //参数名
	Options    string `gorm:"column:options"`        //参数选项
	Seq        int32  `gorm:"column:seq"`            //排序
	TemplateId int32  `gorm:"column:template_id"`    //模板Id
}

//表名
func (Param *Param) TableName() string {
	return "tb_para"
}

//规格
type Specification struct {
	Id         int32  `gorm:"column:Id;primary_key"` //规格Id
	Name       string `gorm:"column:name"`           //规格名称
	Options    string `gorm:"column:options"`        //规格选项
	Seq        int32  `gorm:"column:seq"`            //排序
	TemplateId int32  `gorm:"column:template_id"`    //模板Id
}

//表名
func (Specification *Specification) TableName() string {
	return "tb_spec"
}

//规格
type Category struct {
	Id         int32  `gorm:"column:Id;primary_key"` //分类Id
	Name       string `gorm:"column:name"`           //分类名称
	GoodsNum   string `gorm:"column:goods_num"`      //商品数量
	IsShow     int32  `gorm:"column:is_show"`        //是否显示
	IsMenu     int32  `gorm:"column:is_menu"`        //是否导航
	Seq        int32  `gorm:"column:seq"`            //排序
	ParentId   int32  `gorm:"column:parent_id"`      //上级Id
	TemplateId int32  `gorm:"column:template_id"`    //模板Id
}

//表名
func (Category *Category) TableName() string {
	return "tb_category"
}

type Spu struct {
	Id           int64  `gorm:"column:Id;primary_key"`                //主键
	Sn           string `gorm:"column:sn"`                            //货物号
	Name         string `gorm:"column:name"`                          //SPU名
	Caption      string `gorm:"column:caption"`                       //副标题
	BrandId      int32  `gorm:"column:brand_id"`                      //品牌id
	Category1Id  int32  `gorm:"column:category1_id"`                  //一级分类
	Category2Id  int32  `gorm:"column:category2_id"`                  //二级分类
	Category3Id  int32  `gorm:"column:category3_id"`                  //三级分类
	TemplateId   int32  `gorm:"column:template_id"`                   //模板Id
	FreightId    int32  `gorm:"column:freight_id"`                    //运费模板Id
	Image        string `gorm:"column:image"`                         //图片地址
	Images       string `gorm:"column:images"`                        //图片列表
	SaleService  string `gorm:"column:sale_service"`                  //售后服务
	Introduction string `gorm:"column:introduction;type:TEXT(1024);"` //介绍
	SpecItems    string `gorm:"column:spec_items"`                    //规格列表
	ParaItems    string `gorm:"column:para_items"`                    //参数列表
	SaleNum      int32  `gorm:"column:sale_num"`                      //销量
	CommentNum   int32  `gorm:"column:comment_num"`                   //评论数
	IsMarketable string `gorm:"column:is_marketable"`                 //是否上架 默认未审核：0 上架1 下架2
	IsEnableSpec string `gorm:"column:is_enable_spec"`                //是否启用规格 启用1 不启用0
	IsDelete     string `gorm:"column:is_delete"`                     //是否删除  删除1 不删除为null
	Status       string `gorm:"column:status"`                        //审核状态 审核通过1  不通过2  待审核0
}

//表名
func (Spu *Spu) TableName() string {
	return "tb_spu"
}

type Sku struct { //stock keeping unit库存量单位
	Id           int64     `gorm:"column:id;primary_key"` //商品Id
	Sn           string    `gorm:"column:sn"`             //商品条码
	Name         string    `gorm:"column:name"`           //SKU名称
	Price        int32     `gorm:"column:price"`          //价格
	Num          int32     `gorm:"column:num"`            //库存数量
	AlertNum     int32     `gorm:"column:alert_Num"`      //库存预警数量
	Image        string    `gorm:"column:image"`          //商品图片
	Images       string    `gorm:"column:images"`         //商品图片列表
	Weight       int32     `gorm:"column:weight"`         //重量
	CreateTime   time.Time `gorm:"column:create_time"`    //创建时间
	UpdateTime   time.Time `gorm:"column:update_time"`    //更新时间
	SpuId        int64     `gorm:"column:spu_id"`         //SpuId
	CategoryId   int32     `gorm:"column:category_id"`    //类目Id
	CategoryName string    `gorm:"column:category_name"`  //类目名称
	BrandName    string    `gorm:"column:brand_name"`     //品牌名称
	Spec         string    `gorm:"column:spec"`           //规格
	SaleNum      int32     `gorm:"column:sale_num"`       //销量
	CommentNum   int32     `gorm:"column:comment_num"`    //评论数
	Status       string    `gorm:"column:status"`         //状态
}

//表名
func (Sku *Sku) TableName() string {
	return "tb_sku"
}
